/**
 * @(#)IAssignmentHandlerFilter.java 2009-11-16
 *   
 * Copyright  (c) 2009-2010 Wilmar IT Service,  Inc.   
 * All  rights  reserved.   
 * TODO
 */

package com.wilmar.process.core.services.spi;

import java.io.Serializable;
import java.util.Map;

import org.jbpm.api.model.OpenExecution;

import com.wilmar.process.entity.ProcessParticipant;

/**
 * 客户用户过滤接口,通用的任务分配器
 * (com.wilmar.process.core.services.impl.CommonAssignmentHandler)
 * 找到所有处理人之后，可能由于业务需要，客户可以自行实现该接口以对应业务需要
 * 
 * @author makubex Email:makubexnet@gmail.com
 * @version 1.0.0
 */
public interface IAssignmentHandlerFilter extends Serializable {
	/**
	 * 执行过滤器
	 * 
	 * @param prototype
	 *            参与人的原始信息
	 * @param parameterMap
	 *            业务数据
	 * @param openExecution
	 *            流程实例上下文
	 * @return 过滤后的参与人信息
	 */
	public ProcessParticipant doFilter(ProcessParticipant prototype,
			Map<String, ?> parameterMap, OpenExecution openExecution);
}
